package edu.nf.relaxenjoy.service;

import com.github.pagehelper.PageInfo;
import edu.nf.relaxenjoy.domain.dto.TagDTO;
import edu.nf.relaxenjoy.domain.entity.Tag;
import edu.nf.relaxenjoy.domain.vo.PostVo;
import edu.nf.relaxenjoy.domain.vo.TagVo;

import java.util.List;

/**
 * @author zhu
 * @date 2024-12-19
 */
public interface TagService {

    /**
     * 得到所有的标签
     *
     * @return
     */
    List<TagVo> getAllTag();

    /**
     * 添加一条标签
     *
     * @param tagDTO
     * @return
     */
    Tag saveTag(TagDTO tagDTO);

    /**
     * 保存一条标签
     *
     * @param name
     * @return
     */
    long saveTagByName(String name);

    /**
     * 根据标签获取推荐的视频
     *
     * @param page
     * @param limit
     * @param id
     * @param type
     * @return
     */
    PageInfo<PostVo> getImgListByTag(long page, long limit, String id, Integer type);

    /**
     * 查询标签
     * @param id
     * @return
     */
    Tag getById(long id);
}
